Loading...

Oriol Capdevila Salinas

Li has donat a Cntrl + B?

About me

I am Oriol and I am one of the programmers of the team.

At the beginning of this project it was decided to pick the engine that my colleague Víctor Segura and I had developed for the Game Engines subject. The engine is called Alien Engine, that we developed in a previous subject: Game Engines. As I was the main programer of the engine, my first task in the first few weeks was to intorduce to my programers team the engine so they could code fast, I was like a programer support.

Once everyone was placed, I started improving the engine and I also took part in the gameplay (wagonnetes)

Scripting System

C++ Hot Reload

In the base code that we forked I had already implemented a C++ hot reload but it had just the basics, so I implemented new features to this system:

  • Export script functions so you can add functions in the timeline of an animation or in the UI
  • Timeline Functions UI Functions
  • I redefined the enum in order to export them so that they can be shown in the inspector of the engine
  • Define enum Define enum
  • As some designers requested, I also make posible to make comments and tooltips in the inspector
  • Tooltips showtooltips

The hot reload allows the user to have the game running in the engine and change scripts and after the user compiles (Cntrl + B) the engine will detect it and will free the old dll (also will delete all old components scripts in use) and will load the new dll and refresh all scripts. Once this finishes, the engine now has the new code running.

Multi Scene

Multi Scene

One of the things I implemented is the multi scening because the designers wanted this feature in order to work more than one person at the same time in the same scene.

  • Open more than one scene at the same time
  • OpenScene MoveScene
  • Reparent GameObjects between scenes
  • ReparentScene
  • Scene active, saving, and multiple options
  • Tooltips

Bezier Curve

Bezier Curve Component

Another thing that we needed in order to make the Wagon scene was the bezier curve that the wagon is going to follow.

Curve
  • Add segments in the same curve
  • Curve Curve
  • Editing curve points mousepicking them or with the inspector
  • Curve Curve
  • Remove points of the curve
  • Curve

Wagon

Wagon

After making the curves, I started making the gameplay of the wagon, the main mechanics using the bezier curve

  • Following the rail
  • Curve Curve
  • Player inclination in the wagon
  • Curve
  • Deciding the way you want
  • Curve

After a lot of iterations, the final result is:

Multi Threading

Multi Threading

As our scenes are quite big, I implemented a thread to load almost all the scene while in the main thread shows a loading screen.

Curve

UI contributions

UI contributions

Moreover, I took part in another things such as:

  • Implementing the base code for the UI, canvas and image
  • Curve Curve
  • Cliping the UI bar component
  • Curve Curve Curve